Field of Disclosure
This invention relates generally to computer caches, and particularly to dynamically adapting the configuration of a multi-queue cache according to the access patterns of the cache.
Description of the Related Art
In modern computer systems, caches are typically employed to reduce the latency of retrieving data. Many different replacement techniques currently exist for managing the operations of a cache. One such technique is known as the multi-queue replacement algorithm. In the multi-queue replacement algorithm, data items are stored in one or more queues based on the usage of the items. As used herein, a cache system employing such a technique will be referred to as a multi-queue cache.
One issue with current multi-queue caches is that the default configurations for the caches are usually not well tuned for the specific environment within which the cache operates. Furthermore, even if the default configurations are initially well tuned, the static nature of the caches means that the caches may not stay well tuned over time. Because of such issues, multi-queue caches often exhibit poor cache performance and hit rates. As such, the deployment of multi-queue caches within computer systems has remained relatively low.